#include <iostream>
using namespace std;

template <typename T>
void myswap(T &a, T &b)//传递给形参的实参类型要相同。
{
	T t;
	t = a;
	a = b;
	b = t;
	cout<<"myswap 模板函数do"<<endl;
}

void myswap(char &a, int &b)
{
	int t;
	t = a;
	a = b;
	b = t;
	cout<<"myswap 普通函数do"<<endl;
}

int main()
{
	char cData = 'a';
	int  iData = 2;
    int b=6;
    char c='k';
	//myswap<int>(cData, iData);  //结论 函数模板不提供隐式的数据类型转换  必须是严格的匹配

	myswap(cData, iData); 
	myswap(iData, b);

	return 0;
}